package com.orangelife.webservice.service.propfee;

import java.util.List;

import javax.jws.WebParam;
import javax.jws.WebService;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.Response;

import org.apache.cxf.interceptor.InInterceptors;
import org.apache.cxf.interceptor.OutInterceptors;

import com.orangelife.exception.AppBizException;
import com.orangelife.service.propfee.model.PropFeeLinkPublic;

@WebService
@InInterceptors(interceptors = "org.apache.cxf.interceptor.LoggingInInterceptor")
@OutInterceptors(interceptors = "org.apache.cxf.interceptor.LoggingOutInterceptor")
public interface IPropFeeLinkPublicWebService {

	
	/**
	 * 功能：获取公摊管限表信息通过ID
	 * @param request
	 * @param id
	 * 
	 * @return
	 * @throws Exception
	 * */
	@GET
	@Path("{id}")
	@Produces({ "application/json" })
	public Response getProFeeLinkPublicById(
			@Context HttpServletRequest request, @PathParam("id") String id)
			throws Exception, AppBizException;

	/**
	 * 获取公摊管限表信息通过Bean
	 * @param request
	 * @param propFeeLinkPublic
	 * 
	 * @return
	 * @throws Exception
	 * */
	@POST
	@Path("/getPropFeeLinkPublicByBean")
	@Produces({ "application/json" })
	public Response getPropFeeLinkPublicByBean(
			@Context HttpServletRequest request,
			@WebParam PropFeeLinkPublic propFeeLinkPublic) throws Exception,
			AppBizException;

	/**
	 * 通过Id删除公摊管限表信息
	 * @param request
	 * @param id
	 * 
	 * @return
	 * @throws Exception
	 * */
	@DELETE
	@Path("{id}")
	@Produces({ "application/json" })
	public Response deletePropFeeLinkPublicById(
			@Context HttpServletRequest request, @PathParam("id") String id)
			throws Exception, AppBizException;

	
	/**
	 * 功能:更新公摊管限表信息
	 * @param request
	 * @param propFeeLinkPublic
	 * 
	 * @return
	 * @throws Exception
	 * */
	@POST
	@Path("/updatePropFeeLinkPublic")
	@Produces({ "application/json" })
	public Response updatePropFeeLinkPublic(
			@Context HttpServletRequest request,
			@WebParam PropFeeLinkPublic propFeeLinkPublic) throws Exception,
			AppBizException;

	/**
	 * 功能:批量插入公摊管限表信息
	 * @param request
	 * @param list
	 * 
	 * @return
	 * @throws Exception
	 * 
	 * */
	@POST
	@Path("/insertPropFeeLinkPublicBylist")
	@Produces({ "application/json" })
	public Response insertPropFeeLinkPublicBylist(
			@Context HttpServletRequest request,
			@WebParam List<PropFeeLinkPublic> list) throws Exception,
			AppBizException;

	
	/**
	 * 功能:通过meterid获取关联信息
	 * @param request
	 * @param meterid
	 * @param type
	 * 
	 * @return 
	 * @throws Exception
	 * */
	@GET
	@Path("/getInfoBymeterid/{meterid}")
	@Produces({ "application/json" })
	public Response getInfoBymeterid(@Context HttpServletRequest request,
			@PathParam("meterid") String meterid,
			@QueryParam(value = "type") String type) throws Exception,
			AppBizException;

}
